home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 February / Macworld (1999-02).dmg / Serious Demos / XTension demo / XTension manual 2.0 / XTension manual 2.0.rsrc / TEXT_151.txt < prev    next >
Text File  |  1998-07-18  |  5KB  |  71 lines

  1.  
  2. Scripting                                                   
  3.  
  4. Why Scripts ?.
  5.  
  6. Scripts provide the real flexibility in all good automation systems.  XTension scripts are written in Apple's standard scripting language AppleScript, and can be simple or very complex.
  7.  
  8. XTension provides several verbs and nouns, and AppleScript provides an extensive dictionary of verbs and constructs.
  9.  
  10. XTension calls upon the AppleScript compiler to test and execute scripts, and the AppleScript server calls upon XTension to process phrases that it serves.  Therefore, you may integrate XTension functions into scripts which span widely different systems and applications.
  11.  
  12. For example you might have a script for an accounts receivable system which tells XTension to ring a bell each time you add another $1000 to your total income.  Or, gather callerID information in another application, and have XTension put the entry in the log and sound alarms (or not) according to who is calling.
  13.  
  14. Using XTension and AppleScript, you can personalize a home system or create a complete facility management system for a shopping mall or greenhouse.  
  15.  
  16.  
  17. Scripts are really programs.
  18.  
  19. Ignoring all of the infra-structure beneath them,  each script in itself is a tiny program.  Its  purpose is either to react to some autonomous event such as a movement sensor, or to guard any attempted change to some controlled device such as a hot  plate.
  20.  
  21. If a movement sensor indicates an alarm state, we  may want to do more than just turn on a light.   Devices exist of course which do this automatically, but you still want XTension to notice and change the unit status in the database and perhaps take action.
  22.  
  23. You may want to do different things according to the time of day or day of week or whether other movement sensors have indicated that  there hasn‚Äôt been movement ‚Äòinside‚Äô for more than an  hour.
  24.  
  25. Global Scripts
  26. Sometimes it is useful to have common scripts which can be executed on demand.  
  27.  
  28. The Scripts menu of XTension allows you to create a global script, give it a name, and save it so that it is available in the menu or to any other script on demand.  
  29.  
  30. These scripts are called Global scripts because they can be executed from the menu and from other scripts.
  31.  
  32.  
  33. Special Scripts
  34.  
  35. You may create two specially named scripts which XTension pays attention to whenever XTension starts up or is told to quit.  
  36.  
  37. If you create a global script named 'Startup Script', XTension will run it everytime that XTension starts up.  Likewise, the script named 'Shutdown Script' will be executed any time that XTension is told to quit.  Neither of these scripts is required, however you will find useful applications for them.
  38.  
  39. See the Special Scripts chapter for more about these.
  40.  
  41. AppleScript
  42.  
  43. The MacOS provides a powerful scripting facility with AppleScript.  Almost anything that can be done with the Mac or a Mac application can be controlled or enhanced by scripts which can in themselves be  ‚Äòapplets‚Äô.
  44.  
  45. Many common verbs and conditional constructs are provided by AppleScript, while applications can publish dictionaries of their own verbs for special functions.
  46.  
  47. It is even possible for you to create additional 'commands' which are just other scripts ( like subroutines ) !
  48.  
  49. There are AppleScript editors from Apple and third parties which can record actions and compose scripts to perform some very complex  functions.
  50.  
  51. XTension provides a simple script editor which is sufficient for writing scripts for your automation system, thus you do not need to use an external script editor.  You may of course write scripts in any script editor, and import them into XTension.   Scripts created by XTension may be saved as text and read by any text or AppleScript editor.
  52.  
  53. There is not enough space in this manual for inclusion of the complete dictionary provided by AppleScript.  There are many books and manuals already available which will do a good job of tutoring you in AppleScript. ( get  Danny Goodman's AppleScript Handbook )
  54.  
  55. You do not need to be an AppleScript guru to write scripts for XTension.  Most of the scripts you write need only simple if/then/else statements along with verbs and contructs from XTension's  dictionary.
  56.  
  57.                if value of "Temperature" is greater than 70
  58.                    turnoff "Heater"
  59.                else
  60.                    turnon "Heater"
  61.                end if
  62.                     (  this is a stupid example, just shows simple form  )
  63.  
  64.  
  65. The XTension dictionary
  66.  
  67. XTension provides verbs and constructs which are specific to process control, and perform reasonable functions on items in the database.
  68.  
  69. XTension recognizes all of the named units which are in the database, and will support their use in AppleScript statements as well as the following special verbs which are unique to XTension:
  70.  
  71.